<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>jsx语法规则</title>
    <style>
      .title {
        background: orange;
        width: 200px;
      }
    </style>
  </head>
  <body>
    <!-- 1.准备好一个“容器” -->
    <div id="test"></div>
    <!-- 引入react核心库 -->
    <script src="../js/react.development.js"></script>
    <!-- 引入react-dom。用于支持react操作DOM -->
    <script src="../js/react-dom.development.js"></script>
    <!-- 引入babel，用于将jsx转为js -->
    <script src="../js/babel.min.js"></script>
    <script type="text/babel">
      const myId = "aTgUiGu";
      const myData = "Hello,React";
      //1.创建虚拟DOM
      const VDOM = (
        <div>
          <h2 className="title" id={myId.toLocaleLowerCase()}>
            <span style={{ color: "white", fontSize: "28px" }}>
              {myData.toLocaleLowerCase()}
            </span>
          </h2>
          <h2 className="title" id={myId.toLocaleUpperCase()}>
            <span style={{ color: "white", fontSize: "28px" }}>
              {myData.toLocaleLowerCase()}
            </span>
          </h2>
          <input type="text" />
            { /*<Good>123</Good>*/}
        </div>
      );
      //2.渲染虚拟DOM到页面
      ReactDOM.render(VDOM, document.getElementById("test"));
      // jsx语法规则
      // 1.定义虚拟DOM时，不要写引号
      // 2.标签中混入js表达式时要用{}
      // 3.样式的类名指定不要用class，用className
      // 4.内联样式，要用style={{key:value}}的形式去写
      // 5.虚拟DOM必须只有一个根标签
      // 6.标签必须闭合
      // 7.标签首字母 若小写字母开头，则将标签转为html中同名元素，若html无该标签对应的同名元素，则报错
      //   2.若大写字母开头，react就去渲染对应的组件，若组件没有定义，则报错
    </script>
  </body>
</html>
